// Magic Software, Inc.
// http://www.magic-software.com
// Copyright (c) 2000, All Rights Reserved
//
// Source code from Magic Software is supplied under the terms of a license
// agreement and may not be copied or disclosed except in accordance with the
// terms of that agreement.  The various license agreements may be found at
// the Magic Software web site.  This file is subject to the license
//
// RESTRICTED USE SOURCE CODE
// http://www.magic-software.com/License/restricted.pdf

//---------------------------------------------------------------------------
inline MgcMatrix3& MgcSpatial::Rotate ()
{
    return m_kRotate;
}
//---------------------------------------------------------------------------
inline const MgcMatrix3& MgcSpatial::Rotate () const
{
    return m_kRotate;
}
//---------------------------------------------------------------------------
inline MgcVector3& MgcSpatial::Translate ()
{
    return m_kTranslate;
}
//---------------------------------------------------------------------------
inline const MgcVector3& MgcSpatial::Translate () const
{
    return m_kTranslate;
}
//---------------------------------------------------------------------------
inline MgcReal& MgcSpatial::Scale ()
{
    return m_fScale;
}
//---------------------------------------------------------------------------
inline const MgcReal& MgcSpatial::Scale () const
{
    return m_fScale;
}
//---------------------------------------------------------------------------
inline MgcMatrix3& MgcSpatial::WorldRotate ()
{
    return m_kWorldRotate;
}
//---------------------------------------------------------------------------
inline const MgcMatrix3& MgcSpatial::WorldRotate () const
{
    return m_kWorldRotate;
}
//---------------------------------------------------------------------------
inline MgcVector3& MgcSpatial::WorldTranslate ()
{
    return m_kWorldTranslate;
}
//---------------------------------------------------------------------------
inline const MgcVector3& MgcSpatial::WorldTranslate () const
{
    return m_kWorldTranslate;
}
//---------------------------------------------------------------------------
inline MgcReal& MgcSpatial::WorldScale ()
{
    return m_fWorldScale;
}
//---------------------------------------------------------------------------
inline const MgcReal& MgcSpatial::WorldScale () const
{
    return m_fWorldScale;
}
//---------------------------------------------------------------------------
inline void MgcSpatial::SetWorldTransformToIdentity ()
{
    m_kWorldRotate = MgcMatrix3::IDENTITY;
    m_kWorldTranslate = MgcVector3::ZERO;
    m_fWorldScale = 1.0;
}
//---------------------------------------------------------------------------
inline MgcBound& MgcSpatial::WorldBound ()
{
    return m_kWorldBound;
}
//---------------------------------------------------------------------------
inline const MgcBound& MgcSpatial::WorldBound () const
{
    return m_kWorldBound;
}
//---------------------------------------------------------------------------
inline bool& MgcSpatial::ForceCull ()
{
    return m_bForceCull;
}
//---------------------------------------------------------------------------
inline const bool& MgcSpatial::ForceCull () const
{
    return m_bForceCull;
}
//---------------------------------------------------------------------------
inline void MgcSpatial::SetParent (MgcNode* pkParent)
{
    m_pkParent = pkParent;
}
//---------------------------------------------------------------------------
inline MgcNode* MgcSpatial::GetParent ()
{
    return m_pkParent;
}
//---------------------------------------------------------------------------
